Skip to content

Postfix for #8752#8953

Merged
dyemanov merged 2 commits intoFirebirdSQL:masterfrom
Ev3nt:postfix_8752
Mar 26, 2026
Merged

Postfix for #8752#8953
dyemanov merged 2 commits intoFirebirdSQL:masterfrom
Ev3nt:postfix_8752

Conversation

@Ev3nt
Copy link
Copy Markdown
Contributor

@Ev3nt Ev3nt commented Mar 25, 2026

Problem

When invoking fbsvcmgr with operations requiring the USE_GFIX_UTILITY system privilege, the utility exited silently — no error was printed to stdout or stderr.

Root cause: a timing issue introduced by the started() call left insufficient time for the error response to be received and displayed before the process exited.

Before / After

Before:

$ ./fbsvcmgr localhost:service_mgr -user user1 -password user1 -action_properties -dbname employee prp_page_buffers 4096

After:

$ ./fbsvcmgr localhost:service_mgr -user user1 -password user1 -action_properties -dbname employee prp_page_buffers 4096
Unable to perform operation
-System privilege USE_GFIX_UTILITY is missing

Fix

Resolved a race condition between the started() call and the service response. Error messages are now correctly delivered and printed before the utility exits.

if (!error)
tdgbl->uSvc->started();

return error ? FINI_ERROR : FINI_OK;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to avoid double checking the condition, I'd suggest something like this (in both places):

if (error)
    return FINI_ERROR;

tdgbl->uSvc->started();
return FINI_OK;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied. :)

@Ev3nt Ev3nt requested a review from dyemanov March 26, 2026 06:06
@dyemanov dyemanov merged commit 317e66e into FirebirdSQL:master Mar 26, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants